home *** CD-ROM | disk | FTP | other *** search
/ CD Fun House 10 / CD Fun House 10.0 (7015) (Wayzata Technology) (1995).iso / mac / PC / TWLITE / Cd funhouse parser info / firstone.c < prev   
C/C++ Source or Header  |  1994-11-28  |  6KB  |  306 lines

  1. /*Wayzata Technology Cd Fun House 10.0 First Step*/
  2. /*Taking the database dump and parsing it into the WAYZATA.TXT file.*/
  3.  
  4. #include <errno.h>
  5. #include <fcntl.h>
  6. #include <io.h>
  7. #include <sys\types.h>
  8. #include <sys\stat.h>
  9. #include <stdio.h>
  10. #include <string.h>
  11. #include <stdlib.h>
  12. #include <ctype.h>
  13.  
  14. FILE    *InFile;            /*Dump file form the database.*/
  15. FILE    *OutFile;           /*WAYZATA.TXT file to be placed in each directory.*/
  16. FILE    *LogFile;           /*File where any errors are reported to.*/
  17.  
  18. CHAR    RIGFlag[5];            /*Executable type flag.*/
  19. CHAR    Title[30];            /*Program title*/
  20. CHAR    Version[10];        /*Version of program*/
  21. CHAR    Path[30];            /*Path of program*/
  22. CHAR    Executable[20]        /*Executable's name*/
  23. CHAR    Rating[15]            /*Programs Rating, 1 to 10 asterics*/
  24. CHAR    Fee[10]                /*Shareware fee if any*/
  25. CHAR    Author1[40];
  26. CHAR    Company[40];
  27. CHAR    Author2[40];        /*Author's address*/
  28. CHAR    Author3[40];
  29. CHAR    Author4[40];
  30. CHAR    Author5[40];
  31. CHAR    Description[999];    /*Program's description, usually obtained from file_id.diz*/
  32.  
  33. int     x;                 /*Counter.                        */
  34. int     y;
  35. int     z;
  36. int     v;
  37. int     t;
  38. int     u;
  39. div_t   div_result;     /*Used to determine if we need a  */
  40.                         /*line wrap.                      */
  41. short   textC = 0;
  42.  
  43. CHAR    Fromfile[2000];    /*REcord from database dump.*/
  44. CHAR    Dummy;            /*temp variable*/
  45. CHAR    Reader;            /*used in parse*/
  46. CHAR    *tester;        /*Temp variable for path*/
  47. CHAR    XString[50];    /*Temp variable for path*/
  48.  
  49. main()
  50.     {
  51.     u = open("d:\\dbdump.txt",O_RDONLY);
  52.     InFile =  fdopen(u,"r");
  53.     
  54.     Dummy = fgetc(InFile);
  55.     x = 0;
  56.     
  57.     while (dummy != EOF)
  58.         {
  59.         while (dummy != '\n')
  60.             {
  61.             FromFile[x] = dummy;
  62.             x++;
  63.             dummy = fgetc(InFile);
  64.             }
  65.         Dummy[x] = '\n';
  66.         
  67.         y = 0;
  68.         x =0;
  69.         reader = Dummy[x];    
  70.         while (Dummy != '\t')
  71.             {
  72.             RIGFlag[y] = reader;
  73.             x++;
  74.             y++;
  75.             reader = Dummy[x];
  76.             }
  77.         RIGFlag[y] = '\0';
  78.             
  79.         x++;
  80.         y= 0;
  81.         reader = Dummy[x];
  82.         while (Dummy != '\t')
  83.             {
  84.             Title[y] = reader;
  85.             x++;
  86.             reader = Dummy[x];
  87.             }
  88.         Title[y] = '\0';
  89.         
  90.         x++;
  91.         y = 0;
  92.         reader = Dummy[x];
  93.         while (Dummy != '\t')
  94.             {
  95.             Version[y] = reader;
  96.             x++;
  97.             reader = Dummy[x];
  98.             }
  99.         Version[y] = '\0\;
  100.         
  101.         x++;
  102.         y = 0;
  103.         reader = Dummy[x];
  104.         while (Dummy != '\t')
  105.             {
  106.             Path[y] = reader;
  107.             x++;
  108.             reader = Dummy[x];
  109.             }
  110.         Path[y] = '\0';
  111.         
  112.         x++;
  113.         y = 0;
  114.         reader = Dummy[x];
  115.         while (Dummy != '\t')
  116.             {
  117.             Executable[y] = reader;
  118.             x++;
  119.             reader = Dummy[x];
  120.             }
  121.         Executable[y] = '\0';
  122.         
  123.         x++;
  124.         y = 0;
  125.         reader = Dummy[x];
  126.         while (Dummy != '\t')
  127.             {
  128.             Rating[y] = reader;
  129.             x++;
  130.             reader = Dummy[x];
  131.             }
  132.         Rating[y] = '\0';
  133.         
  134.         x++;
  135.         y = 0;
  136.         reader = Dummy[x];
  137.         while (Dummy != '\t')
  138.             {
  139.             Fee[y] = reader;
  140.             x++;
  141.             reader = Dummy[x];
  142.             }
  143.         Fee[y] = '\0';
  144.         
  145.         x++;
  146.         y = 0;
  147.         reader = Dummy[x];
  148.         while (Dummy != '\t')
  149.             {
  150.             Author1[y] = reader;
  151.             x++;
  152.             reader = Dummy[x];
  153.             }
  154.         Author1[y] = '\0';
  155.         
  156.         x++;
  157.         y = 0;
  158.         reader = Dummy[x];
  159.         while (Dummy != '\t')
  160.             {
  161.             Company[y] = reader;
  162.             x++;
  163.             reader = Dummy[x];
  164.             }
  165.         Company[y] = '\0';
  166.         
  167.         x++;
  168.         y = 0;
  169.         reader = Dummy[x];
  170.         while (Dummy != '\t')
  171.             {
  172.             Author2[y] = reader;
  173.             x++;
  174.             reader = Dummy[x];
  175.             }
  176.         Author2[y] = '\0';
  177.         
  178.         x++;
  179.         y = 0;
  180.         reader = Dummy[x];
  181.         while (Dummy != '\t')
  182.             {
  183.             Author3[y] = reader;
  184.             x++;
  185.             reader = Dummy[x];
  186.             }
  187.         Author3[y] = '\0';
  188.         
  189.         x++;
  190.         y = 0;
  191.         reader = Dummy[x];
  192.         while (Dummy != '\t')
  193.             {
  194.             Author4[y] = reader;
  195.             x++;
  196.             reader = Dummy[x];
  197.             }
  198.         Author4[y] = '\0';
  199.         
  200.         x++;
  201.         y = 0;
  202.         reader = Dummy[x];
  203.         while (Dummy != '\t')
  204.             {
  205.             Author5[y] = reader;
  206.             x++;
  207.             reader = Dummy[x];
  208.             }
  209.         Author5[y] = '\0';
  210.             
  211.         x++;
  212.         y = 0;
  213.         reader = Dummy[x];
  214.         while (Dummy != '\n')
  215.             {     
  216.             if (reader == '\t')
  217.                 reader = ' ';
  218.             Description[y] = reader;
  219.             x++;
  220.             reader = Dummy[x];
  221.             }
  222.         Description[y] = '\0';
  223.         
  224.         strcpy(XString,"D:\\PC\\");
  225.         tester = strcat(XString,Path);
  226.         strcpy(XString,tester);
  227.  
  228.         tester = strcat(XString,"\\WAYZATA.TXT");
  229.         
  230.         v = open(tester,O_WRONLY|O_CREAT,S_IWRITE);
  231.         OutFile = fdopen(v,"w+");
  232.         if (v == -1)
  233.             clearerr(OutFile);
  234.         else
  235.             {
  236.             fprintf(OutFile,"Copyright 1994, Wayzata Technology\n\n");
  237.             fprintf(OutFile,"NAME               : ");
  238.             fprintf(OutFile,"%s\n",Title);
  239.             fprintf(OutFile,"VERSION            : ");
  240.             fprintf(OutFile,"%s\n",Version);
  241.             fprintf(OutFile,"PATH               : ");
  242.             fprintf(OutFile,"%s\n",Path);
  243.             fprintf(OutFile,"EXECUTABLE         : ");
  244.             fprintf(OutFile,"%s\n",Executable);
  245.             fprintf(OutFile,"FLAGS              : ");
  246.             fprintf(OutFile,"%s\n",RIGFlag);
  247.             fprintf(OutFile,"RATING             : ");
  248.             fprintf(OutFile,"%s\n",Rating);
  249.             fprintf(OutFile,"REGISTRATION       : ");
  250.             fprintf(OutFile,"%s\n",Fee);
  251.             fprintf(OutFile,"AUTHOR             : ");
  252.             fprintf(OutFile,"%s\n",Author1);
  253.             fprintf(OutFile,"COMPANY            : ");
  254.             fprintf(OutFile,"%s\n",Company);
  255.             fprintf(OutFile,"ADDRESS            : ");
  256.             fprintf(OutFile,"%s\n",Author2);
  257.             fprintf(OutFile,"CITY               : ");
  258.             fprintf(OutFile,"%s\n",Author3);
  259.             fprintf(OutFile,"STATE              : ");
  260.             fprintf(OutFile,"%s\n",Author4);
  261.             fprintf(OutFile,"ZIP CODE           : ");
  262.             fprintf(OutFile,"%s\n",Author5);
  263.             fprintf(OutFile,"DESCRIPTION        : \n");
  264.             fprintf(OutFile,"-----------\n");
  265.             
  266.             char saveC, *descPtr;
  267.             short spOffset;
  268.             descPtr = (char *) &ProgramDesc[0];
  269.             while( descPtr ) 
  270.                 {
  271.                 if( strlen( descPtr ) > 70 ) 
  272.                     {
  273.                     spOffset = 64;
  274.                     while((spOffset>1) && (descPtr[spOffset] != ' '))
  275.                         spOffset--;
  276.                     if( spOffset < 2 ) spOffset = 64;
  277.                     saveC = descPtr[spOffset];
  278.                     descPtr[spOffset] = 0;
  279.                     fprintf(OutFile,"%s\n",descPtr);
  280.                     if( saveC != ' ') 
  281.                         {
  282.                         descPtr[spOffset] = saveC;
  283.                         spOffset--;
  284.                         }
  285.                     descPtr = (char *) &descPtr[spOffset+1];
  286.                     } 
  287.                 else 
  288.                     {
  289.                     fprintf(OutFile,"%s",descPtr);
  290.                     descPtr = NULL;
  291.                     }
  292.                 }
  293.             }
  294.             
  295.         fclose(OutFile);
  296.  
  297.     dummy = fgetc(InFile);
  298.     if (dummy == EOF) break;
  299.  
  300. printf("just before closeall");
  301. fcloseall();
  302. printf("done");
  303. }
  304.  
  305.             
  306.